A cloud computing service virtualizes a group of hardware such as a plurality of servers of a server facility on the basis of the service agreement with a user and then provides the user with the infrastructure itself of the virtual machines and networks as a service to be provided through a network.
This type of cloud computing service allows virtualization software (hypervisor) to allocate physical servers (or physical machines) to the plurality of virtual machines to enable service provision through an application program installed in each of the virtual machines. Thus, the plurality of virtual machines are allocated respectively to the plurality of physical servers deployed in the server facility.
Migration, particular live migration, is the technology of moving a virtual machine from a physical server to another physical server without disconnecting the service by an application. Live migration is a vital function in a cloud computing service. For instance, in a case where the number of accesses to a web system by virtual machines on a certain physical server becomes more than expected, and consequently the utilization of the CPU of the physical server by the virtual machines reaches 100% due to the high load of the virtual machines, the virtual machines or other virtual machines need to be moved to another physical server with more capacity. Live migration is taken advantage of in such a case in order to distribute the load of the plurality of virtual machines. Furthermore, in a case where a physical server needs to be restarted, live migration is utilized in order to move the virtual machines on this physical server to another physical server.
Live migration is one of the functions provided in virtualization software. In response to an instruction on live migration from a management server, the virtualization software secures a memory space in a destination physical machine and copies the memory contents to be moved of a source virtual machine to the memory of the destination physical machine via a network. This consequently synchronizes the memory contents of the source virtual machine with the memory content of the destination virtual machine. Then the virtualization software suspends the source virtual machine, resumes the destination virtual machine, and transfers the data on the hard disk to the destination virtual machine. Finally, the memory contents of the source virtual machine are deleted from a source physical machine, completing the process.
Examples of the migration are disclosed in Japanese National Publication of International Patent Application No. 2004-530196, Japanese Patent Application Laid-Open No. 2013-047920, Japanese Patent Application Laid-Open No. 2005-190057, and Japanese Patent Application Laid-Open No. 2011-039790.